2.定义设备信息

到了这里您看到定义设备信息的标题,您可能会问这个有什么用啊!让我来告诉您,这一步是整个系统中最关键的一步。事实上每个开发者都有自己的设备,每个人都有自己的梦想。您的设备想干嘛,我们也不知道。而设备信息文件就是告诉我们您的设备是怎么样的,有哪些神奇的功能。

设备信息文件以xml(XML是各种应用程序之间进行数据传输的最常用的格式中的一种)格式组织。其中包括了一些基本信息和您的自定义信息。

一个标准的设备信息如下所示。

<dev>
    <dev_id>demo00</dev_id>
    <name>smart dev</name>
    <model>Smart-type-zero</model>
    <maker>wang dehui</maker>
    <timezone>8</timezone>
    <longitude>104.06</longitude>
    <latitude>30.67</latitude>
    <height>160</height>
    <keep_online>0</keep_online>

    <data>
        <id>1</id>                   
        <name>CPU温度</name>                
        <remark>单位为摄氏度</remark>      
        <unit>°C</unit>            
        <storage>amass</storage>                    
    </data>

    <data>
        <id>3</id>                   
        <name>风景</name>                
        <remark>窗外的风景</remark>      
        <unit>sys/file-image</unit>            
        <storage>latest</storage>                    
    </data>

    <data>
        <id>4</id>                   
        <name>CPU负载</name>                
        <remark>5分钟平均负载</remark>      
        <unit>%</unit>            
        <storage>latest</storage>                    
    </data>

    <apis>    
        <api>
            <id>1</id>
            <name>LED开</name>
        </api>

        <api>
            <id>3</id>
            <name>风扇转速</name>
            <remark>设置风扇转速</remark>

            <arg>
                <name>转速</name>
                <remark>设置风扇转速</remark>    
                <unit>r/min</unit>
            </arg>
        </api>
    </apis>    
</dev>

每个标签(在xml中<标签></标签>表示一组标签)的意义分别为:

<dev_id>      设备guid1号,必须
<name>        设备名称
<model>       设备型号
<maker>       制造商
<timezone>    设备所在地时区,东时区为正数;西时区为负数,必须
<longitude>   设备所处位置经度
<latitude>    设备所处位置维度
<height>      设备所处位置高度

<keep_online> 在线心跳发送间隔,为0表示无须在线检测;>0为在线心跳发送间隔,单位为分钟

<data>        上传参数信息定义块
    <id>          参数唯一id号,必须        
    <name>        参数名称        
    <remark>      参数说明
    <unit>        参数单位,必须
    <storage>     amass-积累存储;latest-仅保存最新值

<apis>        设备所有控制信息定义块
    <api>          定义一个控制指令
        <id>          指令唯一id号,必须
        <name>        控制指令名称
        <remark>      控制指令说明

        <arg>      定义控制指令参数
            <name>    控制参数名称
            <remark>  控制参数说明
            <unit>    控制参数单位

xml格式要求比较严格,格式错误系统将无法正确解析xml内容。因此,我们官网提供了在线生成xml字符串小工具。建议您使用我们提供的工具生成xml描述信息。地址如下:

http://www.swaylink.cn/swaylink.php/King/Index/cxml.html

下面介绍该工具的用法。如图所示:

图中,总共有三部分组成,分别为设备基本信息,设备上传参数信息,和设备控制参数信息。您需要把您设备的信息填写完整。设备上传参数中的单位汉字字母都可以,参数类型累积性表示系统将要保存持久数据,而非累积这保留最新数据;若有多个参数需要上传者点击data按钮就可以再添加一组。设备控制设备控制参数信息为非必须部分,可以没有;其中apis表示一个控制单位,一个控制单位可有一个或多个控制参数组成;比如表示地点,这需要由经度纬度两个控制参数组成,这时候就点击参数按钮,就可以生成一个控制参数。同样的,一个设备可能有0-n个控制单位组成,可以通多点击apis生成。

最后,点击生成按钮,就可以生成请求post请求头部以及xml文件了。其中v=2.0&dev_id=000001&load=...;是从开始的,图中长度就是计算的post数据段的长度,不包含请求头部信息。也就是从v=2.0开始计算的。

results matching ""

    No results matching ""